Data terminals are used in conjunction with peripheral devices to perform a variety of functions related to sales, materials handling, and other activities. In many cases, the data terminal is a desk top or portable computer capable of processing data and communicating with peripheral devices. For example, in a grocery store environment, the data terminal may be a cash register and the peripheral devices may include a credit card magnetic stripe reader, a scale for weighing produce, and a printer for printing receipts. In a shipping or materials handling environment, the data terminal may be small device capable of storing package identifications numbers and related data, and the peripheral devices may include a scale for weighing packages and a printer for printing shipping labels.
Computing systems of this type may be useful in a variety of applications. However, many of these potential applications do not justify a large expenditure for each system. Therefore, in order to make such systems cost effective for a variety of potential applications, it is necessary to minimize the cost associated with each system.
Most of the computing devices used in such systems may be easily programmed to perform a variety of functions. Once a piece of software is written for a particular application, the software program may be easily duplicated for use in multiple terminals within a facility or organization. Therefore, the primary cost component for each additional system is associated with the cost of the hardware. One element that contributes to the hardware cost is the provision of multiple communications ports in order to allow the data terminal to communicate with a variety of peripheral devices. In many cases, it is not cost effective to provide a data terminal with a separate communications port for each peripheral device. Likewise, space constraints on small hand-held terminals may make it difficult to provide more than one serial port.
Although it is desirable to simultaneously connect a single communications port on a data terminal to multiple peripheral devices, a direct connection between a data terminal and multiple peripherals may result in malfunction or damage to the peripheral devices. For example, if data is transmitted from the data terminal to one of the peripheral devices, the data will also be received by the second peripheral device. This may cause the second peripheral device to operate at the wrong time, and to simultaneously attempt to send data to the data terminal. Another problem is that the data transmitted by one peripheral device to the data terminal will also be received by the output driver circuitry of the other peripheral device, which may result in damage to the output drivers. Therefore, provision must be made to ensure that each peripheral device responds only to the appropriate signals from the data terminal. Likewise each peripheral device must be protected from electrical signals sent by the other peripheral devices.
One available method of controlling signals between a data terminal and two peripheral devices is to include a switch box that provides a connector for each of the devices. Although the data terminal and peripheral devices are simultaneously connected to the switch box, internal wiring ensures that the data terminal is electrically connected to only one peripheral device at a time. An external switch is used to manipulate an internal connection, and to allow a user to manually determine which of the two peripheral devices will be electrically connected to the data terminal. Automatic switch boxes are also available for controlling communications between devices. However, these devices typically require external power, and are more expensive as a result of the additional circuitry required to automate the switching function.
Thus, there is a need in the art for an inexpensive way to simultaneously connect a data terminal to a plurality of peripheral devices, and to control transmission of signals without manual intervention.